2012/12/21

行動應用開發的戰技,戰術與戰略

因為工作性質的關係,不時會有朋友找我討論,如何把他們絕妙的好點子製作成可以賺錢的 App。

我生性不是喜歡潑人冷水的人,而且大部分的時候,其實這些點子都還不錯,有的想法非常有創意,有的很有商機,但是大部分的情況下,要想成為一個完整的產品,好像也都少了一點什麼。

如同兵法裡有「戰略」、「戰術」、與「戰技」三種層次的區分,要「開發行動應用」,一樣可以分成「商業模式」、「架構」與「技術」三個層次來討論。

一般程度的開發者,只要稍加學習就可以掌握基本的語法和開發工具,用現有的函式庫與工具製作出各式各樣的功能。這樣算是開發 app 的「戰技」,不斷精進下去,會對於開法的技巧更為熟練,並且能整合更多的第三方函式庫或其他資訊系統。

戰術層次,則可以對應到軟體開發的架構(software architecture)。好的架構,可以簡化維護的流程,降低再次開發類似軟體的成本,甚至製作成軟體框架,成為第三方的函式庫。這個層次,可以看做是透過「流程控管」,讓實作更有效率。

一個 app 解決了什麼問題、能不能讓人願意使用、是不是達到原本要開發的目的,則是屬於商業模式的部份,可以對應到兵法的「戰略」層次。這個層次的掌握其實是相當有難度的,必須要對消費者與市場有相當程度的了解,還要對技術的可行性有一定的認識,當然,最好還要有一些商業嗅覺。

雖然說是「商業」模式,但是其實不見得每個行動應用的開發都是以營利為目的,所以這個部分比較像是整個專案的策略目標是不是能夠達成。簡單的說,就是「為什麼」要開發這個行動應用?這個行動應用是不是有解決你的問題,或是達成你的目的?


會來找我討論的,有的是在自己的領域學有專精或耕耘多年,想把一些原本的應用拓展到行動領域;有的是心中長久以來一直有個想法,想透過行動平台來實現的;有的是突然想到什麼「好點子」,想趕快設法製作成 app,免得被人搶先的。

整體來說,跟第一種對象溝通是最容易的,因為他們通常都已經有相當明確的「商業模式」,缺少的只是技術支援,只要不是太複雜的內容,通常很快可以完成架構的設計與初期製作。

第二種情況,則是最費力的。因為「想法」跟「概念」往往是很抽象的,需要很多的時間溝通,才能夠逐漸具體化,而具體化的概念,常常也不見得有合理的商業模式。也由於出發點比較抽象,在製作的過程中,常常會出現「這不是我想要的」的狀況,以致整個流程必須從頭來過。由於筆者自己會切入行動應用這個領域,也是出自於相似的理由(只不過我是自己學會做而不是找人幫我做),所以遇到這樣的朋友,我通常會當作是做善事,慢慢跟他們討論。有時候討論到某個段落的時候,會發現他們需要的根本不是一個行動應用,而是其他的東西。(感覺起來,這比較像是在做心理諮商 XD)

第三種情形,是比較常需要扮演潑冷水的角色的時候。忘了是誰說過的:「當你想到一個好點子的時候,請假設世界上至少有另外兩個人也想到了」,但是當人覺得自己「想到好點子」的時候,通常會有點熱情的衝動,以至於很容易忽略了三個層次裡的某些環節。當然,潑人冷水也是要有點技巧的,不過那不是這裡要討論的事情了。


雖然這裡說的是行動應用,但是回頭想想,其實在提供一些 predictive modeling 方面的諮詢時,常常也會遇到類似的情況。常常有人會想要用 visual recognition 來解決一個簡單的 regression 問題,或是想要用最「新」最「炫」的工具,期待能為原來遇到瓶頸的問題帶來一些新的突破。這些事情雖然都是可執行的,但是我總是要問清楚:「你想這樣做的目的是什麼?你確定這樣做有達成你的目標?」

問對問題,就好像戰略上要弄清楚「為何而戰」,後面的技術與架構,也才能發揮他們的價值。

沒有留言: